Software programming languages have become more powerful over time through the addition of features and capabilities allowing developers to define procedures and data structures to meet their needs. However, the increased power and capability of modern programming languages has also added to their complexity. In addition, the programs developed using the programming languages have become larger and more complex, with one program typically comprising many different source code files.
As a result, a market for compilers and interpreters--which are computer programs that turn source code of a program into an executable version that can actually be run on a computer--that make programming easier has proliferated. One manner by which compilers and interpreters have become somewhat easier to use is through the use of the Integrated Development Environment (IDE). These environments typically have browsers and editors allowing developers to edit multiple source files. In addition, for object oriented languages, the IDE may also provide a browser allowing the developer to navigate and view the class hierarchy.
While browsers are an improvement to compilers and interpreters, several problems remain. First, in order to look up the definition of a complex data structure, the user must locate the file containing the data structure definition, or must locate the class name in the class hierarchy browser.
Second, the user must locate the data structure definition in the file, which typically involves either scrolling through the file or using a text search capability to search through the file.
Third, once the definition has been located, the user must swap back and forth between the window containing the definition of the structure (either in a file window or a class hierarchy window) and the window in which the developer is currently adding code referencing the structure.
Finally, once the definition has been located, the user must manually insert the appropriate data structure reference into the code window.